﻿using System.ComponentModel.DataAnnotations;
using YNTK.Dependency;

namespace YNTK.Employees.Entitys.Dto
{
    /// <summary>
    /// 员工技术职称证书数据传输模型
    /// </summary>
    [SuppressSniffer]
    public class TechnicalCertificateListDto
    {
        /// <summary>
        /// id
        /// </summary>
        public string id { get; set; }

        /// <summary>
        /// 证书分类
        /// </summary>
        public string classify { get; set; }

        /// <summary>
        /// 证书名称
        /// </summary>
        public string certificateName { get; set; }

        /// <summary>
        /// 证书编号
        /// </summary>
        public string certificateNo { get; set; }

        /// <summary>
        /// 发证机关
        /// </summary>
        public string licenseIssuingAgencies { get; set; }

        /// <summary>
        /// 发证日期
        /// </summary>
        public DateTime? releaseDate { get; set; }

        /// <summary>
        /// 证书有效期
        /// </summary>
        public string periodValidity { get; set; }

        /// <summary>
        /// 查询网址
        /// </summary>
        public string queryUrl { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        public string description { get; set; }

        /// <summary>
        /// 证书照片服务器存储路径
        /// </summary>
        public string certificateFilePath { get; set; }
    }

    /// <summary>
    /// 添加技术职称证书请求模型
    /// </summary>
    [SuppressSniffer]
    public class AddTechnicalCertificateRequestModel
    {
        /// <summary>
        /// 证书分类
        /// </summary>
        [Required(ErrorMessage = "证书分类不能为空")]
        public string classify { get; set; }

        /// <summary>
        /// 证书名称
        /// </summary>
        [Required(ErrorMessage = "证书名称不能为空")]
        public string certificateName { get; set; }

        /// <summary>
        /// 证书编号
        /// </summary>
        [Required(ErrorMessage = "证书编号不能为空")]
        public string certificateNo { get; set; }

        /// <summary>
        /// 发证机关
        /// </summary>
        [Required(ErrorMessage = "发证机关不能为空")]
        public string licenseIssuingAgencies { get; set; }

        /// <summary>
        /// 发证日期
        /// </summary>
        [Required(ErrorMessage = "发证日期不能为空")]
        public DateTime? releaseDate { get; set; }

        /// <summary>
        /// 证书有效期
        /// </summary>
        public string periodValidity { get; set; }

        /// <summary>
        /// 查询网址
        /// </summary>
        public string queryUrl { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        public string description { get; set; }

        /// <summary>
        /// 证书照片服务器存储路径
        /// </summary>
        public string certificateFilePath { get; set; }
    }

    /// <summary>
    /// 修改技术职称证书请求模型
    /// </summary>
    [SuppressSniffer]
    public class UpdateTechnicalCertificateRequestModel: AddTechnicalCertificateRequestModel
    {
        /// <summary>
        /// 技术职称证书id
        /// </summary>
        [Required(ErrorMessage = "技术职称证书唯一标识不能为空")]
        public string id { get; set; }
    }

}
